package com.shop.cereshop.business.page.bond;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;

import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * @description: TODO 
 * @author lx
 * @date 2025/10/24 09:49
 * @version 1.0
 */
@Data
@Accessors(chain = true)
@ApiModel(value = "ShopRechargeVO", description = "店铺保证金充值响应")
public class ShopRechargeVO {

    @ApiModelProperty(value = "充值ID", example = "1", notes = "充值记录唯一标识，默认值：无")
    private Long rechargeId;

    @ApiModelProperty(value = "充值单号", example = "RECHARGE202412010001", notes = "充值单号，默认值：无")
    private String rechargeNo;

    @ApiModelProperty(value = "充值金额", example = "100.00", notes = "充值金额，默认值：无")
    private BigDecimal amount;

    @ApiModelProperty(value = "支付方式", example = "1", notes = "1-微信支付 2-支付宝支付，默认值：无")
    private Integer payType;

    @ApiModelProperty(value = "支付状态", example = "0", notes = "0-待支付 1-支付成功 2-支付失败 3-已取消，默认值：0")
    private Integer payState;

    @ApiModelProperty(value = "过期时间", example = "2024-12-01 10:30:00", notes = "充值订单过期时间，默认值：无")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime expireTime;

    @ApiModelProperty(value = "创建时间", example = "2024-12-01 10:00:00", notes = "充值订单创建时间，默认值：无")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime createTime;

    @ApiModelProperty(value = "支付参数(JSON格式，具体内容由支付方式决定)")
    private String payParams;

    @ApiModelProperty(value = "支付链接(部分支付方式可能需要跳转)")
    private String payUrl;
}
